package com.qboot.generate.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.qboot.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.experimental.FieldNameConstants;


/**
 * 代码生成-表 实体类
 *
 * @author Tellsea
 * @date 2022-12-05
 */
@Data
@ApiModel("代码生成-表")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@FieldNameConstants
public class GenTable extends BaseEntity {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 作者
     */
    private String author;
    /**
     * 父级包名
     */
    private String parentPackage;
    /**
     * maven模块名称
     */
    private String mavenModule;
    /**
     * 模块名
     */
    private String module;
    /**
     * 表名
     */
    private String tableName;
    /**
     * 表注释
     */
    private String comment;
    /**
     * 业务名
     */
    private String business;
    /**
     * 实体类名
     */
    private String entity;
    /**
     * vo类名
     */
    private String entityVo;
    /**
     * controller类名
     */
    private String controller;
    /**
     * service类名
     */
    private String service;
    /**
     * service注入参数名
     */
    private String serviceAttr;
    /**
     * service_impl类名
     */
    private String serviceImpl;
    /**
     * mapper类名
     */
    private String mapper;
    /**
     * xml文件名
     */
    private String mapperXml;
    /**
     * 主键java属性名
     */
    private String pkJavaField;
    /**
     * 主键列名称
     */
    private String pkColumnName;
    /**
     * 页面类型 1-单表 2-树表
     */
    private Long pageType;
    /**
     * 表单类型 1-抽屉 2-模态框
     */
    private Long formType;
    /**
     * PC端 1-是
     */
    private Integer isPc;
    /**
     * 新增 1-是
     */
    private Integer isSave;
    /**
     * 更新 1-是
     */
    private Integer isUpdate;
    /**
     * 删除 1-是
     */
    private Integer isRemove;
    /**
     * 批量删除 1-是
     */
    private Integer isRemoveBatch;
    /**
     * 导入 1-是
     */
    private Integer isImport;
    /**
     * 导出 1-是
     */
    private Integer isExport;
    /**
     * 数据状态 1-正常 2-删除
     */
    @TableLogic
    @ApiModelProperty(hidden = true)
    @TableField(fill = FieldFill.INSERT)
    private Integer deleteStatus;
}
